package com.eugenema.handler;

import java.util.concurrent.TimeUnit;
import com.eugenema.entity.TestStep;
import com.eugenema.util.SeleniumUtil;

/**
 * 等待处理器
 * 若等待报错，会 catch，而不是向上抛
 *
 * @author Eugenema
 * @date 2023/3/11 19:19
 *
 **/
public class WaitActionHandler {
	/**
	 * 强制等待
	 *
	 * @author Eugenema
	 * @date 2023/3/11 19:20
	 *
	 * @param testStep 动作
	 *
	 **/
	public void waitForced(TestStep testStep){
		try {
			Thread.sleep(Long.valueOf(testStep.getValue()));
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

	/**
	 * Web 端隐式等待
	 * <br/>时间单位：毫秒
	 *
	 * @author Eugenema
	 * @date 2023/3/11 19:26
	 *
	 * @param testStep 动作
	 *
	 **/
	public void webWaitImplicit(TestStep testStep){
		SeleniumUtil.getDriver().manage().timeouts().implicitlyWait(Long.valueOf(testStep.getValue()), TimeUnit.MILLISECONDS);
	}
}
